#sage
import libnum
n= 121176731012001774237554071517040520577093770585955284890111028833900485089366205861576854434071097785955426453274958947131350219079586688700799708437106991966824326227553177949832737829545215209285207091478265075229855158613766143623542365107905898499683217014784504271360637893610456050551417371109126935821
p= 10294176862573184144889118081794828535963562542939700829097058698645551123632548241827576303461162025955304087621384738534602927608805520033003847729857913
q= 11771386156436390390172944429184462613445295630519275927285184850353982566452678162531101585333236216451833768663392626736188991033254470541757714968120117
c= 175676150266389842655713989253086844293109999214244727442799978297124143551654073679017014994908058988402189906092896028837004244573045641687986771129134527809468892554529220740843297716181676421633164172513308088943719087506588619693643820162046871380739428618325418829978973366928721397921633930049637
e= 3

R.<x> = Zmod(p)[]
f = x ^ e - c
f = f.monic()
res1 = f.roots()

R.<x> = Zmod(q)[]
f = x ^ e - c
f = f.monic()
res2 = f.roots()

for i in res1:
    for j in res2:
        # 普普通通中国剩余定理
        m = crt(int(i[0]),int(j[0]),p,q)
        flag = libnum.n2s(int(m))
        if flag.startswith(b'flag'):
            print(flag)
